In general, programmers pursue the most efficient way to execute code especially when using a compiler. Specifically, compilers may insert additional instructions, remove extraneous instructions, and modify the order of instructions. Many of these modifications to a code section depend on the points in the code where deoptimization may occur. Further, the order in which the modifications occur in the compilation process may impact the overall efficiency of the compilation.